#include "StdAfx.h"
#include "TexturaFactory.h"

TexturaFactory::TexturaFactory(void)
{
}

TexturaFactory::~TexturaFactory(void)
{
}

vector<Textura*> TexturaFactory::GetTexturaInstance(vector<NodoXML> arbol)
{
	vector<Textura*> text;
	vector<NodoXML>::iterator it1;
	vector<Textura*>::iterator it2;
	String id = "";
	String path = "";
	bool encontrado = false;

	for(it1=arbol.begin(); it1<arbol.end(); it1++)
	{
		//Armo la textura, harcodeo los valores que se que son atributos del TAG
		id   = it1->getAttribute("id").c_str();
		for(it2 = text.begin(); it2<text.end(); it2++)
			if( id == (*it2)->GetIdTextura()) 
			{
				encontrado = true;
				break;
			};

		if ( encontrado == false)
		{
		path = it1->getAttribute("path");
		Textura *texturaAuxiliar = new Textura(id,path);
		text.push_back(texturaAuxiliar);
		}else
		{	encontrado = false;
		Log4Cpp::error("Id duplicado entre Texturas revisar XML.\n","TexturaFactory");}
	}

	return text;
}